<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ProMRDS Chapter 16 - Autonomous Robots</title>
<link href="../Styles/Standard.css" rel="stylesheet" type="text/css" />
</head>
<body>
<img src="images/Stinger.jpg" alt="Stinger Robot" align="right" style="margin:0; padding:0;" />
<table width="80%">
<tr>
<td width="200"><a href="http://www.ProMRDS.com"><img src="../Images/HomeIcon.gif" alt="ProMRDS Home Page" border="0" /></a></td>
<td width="*" align="center"><img src="Images/Chapter16.gif" alt="Chapter 16" /></td>
<td width=""></td>
</tr>
<tr>
<td colspan="3"><hr /></td>
</tr>
</table>

<div class="page">
<p class="heading"><span class="smallhead">Professional</span><br />&nbsp;&nbsp;&nbsp;Microsoft Robotics Developer Studio<br />
<a href="http://www.ProMRDS.com" onmouseout="Home.src='../Images/Home.gif';" onmouseover="Home.src='../Images/Home_f2.gif';"><img name="Home" src="../Images/Home.gif" width="150" height="25" border="0" alt="Home Page" /></a>
<a href="../ReadMe.htm" onmouseout="Contents.src='../Images/Contents.gif';" onmouseover="Contents.src='../Images/Contents_f2.gif';"><img name="Contents" src="../Images/Contents.gif" width="150" height="25" border="0" alt="Book Contents" /></a>
<a href="../Chapter15/ReadMe.htm" onmouseout="Prev.src='../Images/Previous.gif';" onmouseover="Prev.src='../Images/Previous_f2.gif';"><img name="Prev" src="../Images/Previous.gif" width="150" height="25" border="0" alt="Previous Chapter" /></a>
<a href="../Chapter17/ReadMe.htm" onmouseout="Next.src='../Images/Next.gif';" onmouseover="Next.src='../Images/Next_f2.gif';"><img name="Next" src="../Images/Next.gif" width="150" height="25" border="0" alt="Next Chapter" /></a><br />
</p>

<h1>Chapter 16 - Autonomous Robots</h1>

<h2>Summary</h2>
<p>
The primary purpose of this chapter is to demonstrate
how to write CF (Compact Framework) services that can
run on devices running Windows Mobile or Windows CE.
The small form factor of these devices allows them
to be onboard the robot which makes the robot
completely autonomous.
</p>

<h2>Contents</h2>
<p>This Chapter contains the following applications:</p>
<ul>
<li>Stinger Drive-By-Wire (for PDA and eBox)</li>
<li>Stinger PWM Drive (Generic Differential Drive)</li>
</ul>

<p>
Note that there is a general-purpose <a href="../Chapter4/DriveByWire.htm">Drive By Wire</a> service in Chapter 4
that uses the generic Differential Drive service.
</p>

<p>
The Stinger Drive-By-Wire service is designed to run on either a
desktop PC or a PDA. It interfaces directly to the Stinger and is
therefore specific to this model of robot. The service reads the
IR sensors on the Stinger to avoid obstacles, and can be set into
autonomous wander mode.
</p>
<p>
The original Serializer services from RoboticsConnection
did not include a Generic Differential Drive service.
This meant that you could not use the Dashboard or
Teleoperation services from this book.
</p>
<p>
Therefore, this chapter also shows how to &quot;wrap&quot; a service
using a generic contract without changing any of the
original code. The new StingerPWMDrive service also
requires fewer partnerships in the manifest.
</p>
<p>
However,
note that this Drive service uses the
Serializer PWM (Pulse Width Modulation)
service which is not very accurate.
The Serializer PID (Proportional, Integral, Derivative)
service uses the encoders for greater control. It
will require a different wrapper.
</p>
<table>
<tr>
<td valign="top">
Stinger Drive-By-Wire on Windows XP:<br />
<img src="images/StingerDrive_Desktop.jpg" border="0" alt="Stinger Drive By Wire on XP" />
</td>
<td>&nbsp;&nbsp;&nbsp;</td>
<td valign="top">
CF version running on a PDA:<br />
<img src="images/PDA_StingerWander.jpg" border="0" alt="Stinger Drive By Wire on a PDA" />
</td>
</tr>
</table>

<h2>Prerequisites</h2>
<p>
You must download and install the services for the Serializer
board from <a href="http://www.roboticsconnection.com/t-microsoftroboticsstudio.aspx">RoboticsConnection</a> before you try to compile the
services in this chapter. Make sure that you get the V1.5 services.
</p>

<h2>Legal Stuff</h2>
<p>
This code is available free of charge for non-commercial use.
For more information, please see the <a href="../Licence.htm">Licence Agreement</a>.
</p>
<p>
Jason Summerour from RoboticsConnection assisted with some
of the code and pictures for this chapter. The Serializer
services for MRDS from RoboticsConnection are required to drive the
Stinger robot.
</p>

</div>

<hr />
<div class="footer">
Page maintained by:
<a href="m&#97;&#105;&#108;t&#111;:webmaster&#64;promrds&#46;com">webmaster&#64;promrds.com</a><br />
Last Updated: Mar-2008
</div>

</body>
</html>
